package sv.gob.mh.dgii.model;

// Generated Dec 11, 2007 3:19:15 PM by Hibernate Tools 3.2.0.beta7

import java.io.Serializable;
import java.util.Date;

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * DcResolDet generated by hbm2java
 */
@Entity
@Table(name = "DC_RESOL_DET", schema = "EDADEPUDOC", uniqueConstraints = {})
public class DcResolDet implements Serializable {

	// Fields

	/**
	 * 
	 */
	private static final long serialVersionUID = 482176794175211660L;
	private DcResolDetId id;
	private EdDeclaraciones edDeclaraciones;
	private DcResolucion dcResolucion;
	private TbDeficiencia tbDeficiencia;
	private TbObligacion tbObligacion;
	private Date fpobligacion;
	private String ndocumento;
	private String mtipoDoc;
	private Double vimpuesto;
	private Double vmulta;
	private Double vrecargo;
	private Double vmonto;
	private Integer bdebito;
	private Double vintereses;
	private Long nmandamiento;
	private Date femisMandam;
	private Date flimPago;
	private Date fpago;
	private Double vmontoPagado;
	private Integer bporcMulta;
	private Long itransaccion;
	private String cclaseTrans;

	// Constructors

	/** default constructor */
	public DcResolDet() {
	}

	/** minimal constructor */
	public DcResolDet(DcResolDetId id, DcResolucion dcResolucion, TbObligacion tbObligacion,
			Date fpobligacion, String ndocumento, String mtipoDoc, Double vmonto) {
		this.id = id;
		this.dcResolucion = dcResolucion;
		this.tbObligacion = tbObligacion;
		this.fpobligacion = fpobligacion;
		this.ndocumento = ndocumento;
		this.mtipoDoc = mtipoDoc;
		this.vmonto = vmonto;
	}

	/** full constructor */
	public DcResolDet(DcResolDetId id, EdDeclaraciones edDeclaraciones, DcResolucion dcResolucion,
			TbDeficiencia tbDeficiencia, TbObligacion tbObligacion, Date fpobligacion,
			String ndocumento, String mtipoDoc, Double vimpuesto, Double vmulta, Double vrecargo,
			Double vmonto, Integer bdebito, Double vintereses, Long nmandamiento, Date femisMandam,
			Date flimPago, Date fpago, Double vmontoPagado, Integer bporcMulta, Long itransaccion) {
		this.id = id;
		this.edDeclaraciones = edDeclaraciones;
		this.dcResolucion = dcResolucion;
		this.tbDeficiencia = tbDeficiencia;
		this.tbObligacion = tbObligacion;
		this.fpobligacion = fpobligacion;
		this.ndocumento = ndocumento;
		this.mtipoDoc = mtipoDoc;
		this.vimpuesto = vimpuesto;
		this.vmulta = vmulta;
		this.vrecargo = vrecargo;
		this.vmonto = vmonto;
		this.bdebito = bdebito;
		this.vintereses = vintereses;
		this.nmandamiento = nmandamiento;
		this.femisMandam = femisMandam;
		this.flimPago = flimPago;
		this.fpago = fpago;
		this.vmontoPagado = vmontoPagado;
		this.bporcMulta = bporcMulta;
		this.itransaccion = itransaccion;
	}

	// Property accessors
	@EmbeddedId
	@AttributeOverrides( {
			@AttributeOverride(name = "nresolucion", column = @Column(name = "N_RESOLUCION", unique = false, nullable = false, insertable = true, updatable = true, length = 15)),
			@AttributeOverride(name = "ncorrelativo", column = @Column(name = "N_CORRELATIVO", unique = false, nullable = false, insertable = true, updatable = true, precision = 10, scale = 0)) })
	public DcResolDetId getId() {
		return this.id;
	}

	public void setId(DcResolDetId id) {
		this.id = id;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "I_INDICE", unique = false, nullable = true, insertable = true, updatable = true)
	public EdDeclaraciones getEdDeclaraciones() {
		return this.edDeclaraciones;
	}

	public void setEdDeclaraciones(EdDeclaraciones edDeclaraciones) {
		this.edDeclaraciones = edDeclaraciones;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "N_RESOLUCION", unique = false, nullable = false, insertable = false, updatable = false)
	public DcResolucion getDcResolucion() {
		return this.dcResolucion;
	}

	public void setDcResolucion(DcResolucion dcResolucion) {
		this.dcResolucion = dcResolucion;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "C_OPERACION", unique = false, nullable = true, insertable = true, updatable = true)
	public TbDeficiencia getTbDeficiencia() {
		return this.tbDeficiencia;
	}

	public void setTbDeficiencia(TbDeficiencia tbDeficiencia) {
		this.tbDeficiencia = tbDeficiencia;
	}

	@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "C_OBLIGACION", unique = false, nullable = false, insertable = true, updatable = true)
	public TbObligacion getTbObligacion() {
		return this.tbObligacion;
	}

	public void setTbObligacion(TbObligacion tbObligacion) {
		this.tbObligacion = tbObligacion;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FP_OBLIGACION", unique = false, nullable = false, insertable = true, updatable = true, length = 7)
	public Date getFpobligacion() {
		return this.fpobligacion;
	}

	public void setFpobligacion(Date fpobligacion) {
		this.fpobligacion = fpobligacion;
	}

	@Column(name = "N_DOCUMENTO", unique = false, nullable = false, insertable = true, updatable = true, length = 12)
	public String getNdocumento() {
		return this.ndocumento;
	}

	@Column(name = "C_CLASE_TRANS", unique = false, insertable = true, updatable = true, length = 1)
	public String getCclaseTrans() {
		return cclaseTrans;
	}

	public void setCclaseTrans(String cclaseTrans) {
		this.cclaseTrans = cclaseTrans;
	}

	public void setNdocumento(String ndocumento) {
		this.ndocumento = ndocumento;
	}

	@Column(name = "M_TIPO_DOC", unique = false, nullable = false, insertable = true, updatable = true, length = 2)
	public String getMtipoDoc() {
		return this.mtipoDoc;
	}

	public void setMtipoDoc(String mtipoDoc) {
		this.mtipoDoc = mtipoDoc;
	}

	@Column(name = "V_IMPUESTO", unique = false, nullable = true, insertable = true, updatable = true, precision = 11)
	public Double getVimpuesto() {
		return this.vimpuesto;
	}

	public void setVimpuesto(Double vimpuesto) {
		this.vimpuesto = vimpuesto;
	}

	@Column(name = "V_MULTA", unique = false, nullable = true, insertable = true, updatable = true, precision = 11)
	public Double getVmulta() {
		return this.vmulta;
	}

	public void setVmulta(Double vmulta) {
		this.vmulta = vmulta;
	}

	@Column(name = "V_RECARGO", unique = false, nullable = true, insertable = true, updatable = true, precision = 11)
	public Double getVrecargo() {
		return this.vrecargo;
	}

	public void setVrecargo(Double vrecargo) {
		this.vrecargo = vrecargo;
	}

	@Column(name = "V_MONTO", unique = false, nullable = false, insertable = true, updatable = true, precision = 11)
	public Double getVmonto() {
		return this.vmonto;
	}

	public void setVmonto(Double vmonto) {
		this.vmonto = vmonto;
	}

	@Column(name = "B_DEBITO", unique = false, nullable = true, insertable = true, updatable = true, precision = 1, scale = 0)
	public Integer getBdebito() {
		return this.bdebito;
	}

	public void setBdebito(Integer bdebito) {
		this.bdebito = bdebito;
	}

	@Column(name = "V_INTERESES", unique = false, nullable = true, insertable = true, updatable = true, precision = 11)
	public Double getVintereses() {
		return this.vintereses;
	}

	public void setVintereses(Double vintereses) {
		this.vintereses = vintereses;
	}

	@Column(name = "N_MANDAMIENTO", unique = false, nullable = true, insertable = true, updatable = true, precision = 10, scale = 0)
	public Long getNmandamiento() {
		return this.nmandamiento;
	}

	public void setNmandamiento(Long nmandamiento) {
		this.nmandamiento = nmandamiento;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_EMIS_MANDAM", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFemisMandam() {
		return this.femisMandam;
	}

	public void setFemisMandam(Date femisMandam) {
		this.femisMandam = femisMandam;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_LIM_PAGO", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFlimPago() {
		return this.flimPago;
	}

	public void setFlimPago(Date flimPago) {
		this.flimPago = flimPago;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_PAGO", unique = false, nullable = true, insertable = true, updatable = true, length = 7)
	public Date getFpago() {
		return this.fpago;
	}

	public void setFpago(Date fpago) {
		this.fpago = fpago;
	}

	@Column(name = "V_MONTO_PAGADO", unique = false, nullable = true, insertable = true, updatable = true, precision = 11)
	public Double getVmontoPagado() {
		return this.vmontoPagado;
	}

	public void setVmontoPagado(Double vmontoPagado) {
		this.vmontoPagado = vmontoPagado;
	}

	@Column(name = "B_PORC_MULTA", unique = false, nullable = true, insertable = true, updatable = true, precision = 1, scale = 0)
	public Integer getBporcMulta() {
		return this.bporcMulta;
	}

	public void setBporcMulta(Integer bporcMulta) {
		this.bporcMulta = bporcMulta;
	}

	@Column(name = "I_TRANSACCION", unique = false, nullable = true, insertable = true, updatable = true, precision = 10, scale = 0)
	public Long getItransaccion() {
		return this.itransaccion;
	}

	public void setItransaccion(Long itransaccion) {
		this.itransaccion = itransaccion;
	}

}
